13 research outputs found

    Middleware specialization using aspect oriented programming

    Full text link
    Standardized middleware is used to build large distributed real-time and enterprise (DRE) systems. These middleware are highly flexible and support a large number of features since they have to be applicable to a wide range of domains and applications. This generality and flexibility, however, often causes many performance and footprint overheads par-ticularly for product line architectures, which have a well-defined scope smaller than that of the middleware yet must leverage its benefits, such as reusability. To alleviate this tension thus a key objective is to specialize the middleware, which comprises removing the sources of excessive general-ity while simultaneously optimizing the required features of middleware functionality. To meet this objective this paper describes how we have applied Aspect-Oriented Program-ming (AOP) in a novel manner to address these challenges. Although AOP is primarily used for separation of concerns, we use it to specialize middleware. Aspects are used to se-lect the specific set of features needed by the product line. Aspect weaving is subsequently used to specialize the mid-dleware. This paper describes the key motivation for our research, identifies the challenges developing middleware-based product lines and shows how to resolve those using aspects. The results applying our AOP-based specialization techniques to event demultiplexing middleware for the case of single threaded implementation showed 3 % decrease in latency and 2 % increase in throughput, while in the thread pool implementation showed 4 % decrease in latency and 3% increase in throughput

    applying aspect oriented programming to distributed storage metadata management

    No full text
    High performance computing applications often must handle on the order of peta bytes of data during their operation. Such large data sets inherently require distributed storage. Emerging distributed storage solutions in this realm, such as our L-Store framework, virtualize the distributed nature of the storage by offering the notion of a single file system to applications. These virtualization schemes must manage substantial amount of metadata to handle the data sets across the distributed storage. Apart from the primary concern of virtualization, a number of secondary but crosscutting concerns related to transaction and persistence control, database connection pooling, authentication and authorization, and logging must be addressed in these metadata management schemes. This paper describes our investigations into discovering these secondary and crosscutting concerns in metadata management for large-scale distributed data storage. We describe how we have applied AspectJ to address these crosscutting concerns in metadata management for the L-store distributed storage framework. Keywords: Real-World Applications, Software, Tools, Aspects. 1

    Model-driven Generative Techniques for Scalable Performabality Analysis of Distributed Systems ∗

    No full text
    The ever increasing societal demand for the timely availability of newer and feature-rich but highly dependable network-centric applications imposes the need for these applications to be constructed by the composition, assembly and deployment of off-the-shelf infrastructure and domain-specific services building blocks. Service Oriented Architecture (SOA) is an emerging paradigm to build applications in this manner by defining a choreography of loosely coupled building blocks. However, current research in SOA does not yet address the performability (i.e., performance and dependability) challenges of these modern applications. Our research is developing novel mechanisms to address these challenges. We initially focus on the composition and configuration of the infrastructure hosting the individual services. We illustrate the use of domain-specific modeling languages and model weavers to model infrastructure composition using middleware building blocks, and to enhance these models with the desired performability attributes. We also demonstrate the use of generative tools that synthesize metadata from these models for performability validation using analytical, simulation and empirical benchmarking tools
    corecore